﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<PhotoGallery.Core.Business.FolderSearchModel>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    重庆市公安图片管理系统--文件搜索
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <div id="list-right">
        <table width="100%" cellspacing="5" cellpadding="0" border="0">
            <tbody>
                <tr>
                    <td valign="top" class="s-box" id="list-left">
                        <div class="head">
                            文件目录</div>
                        <div class="con">
                            <div style="height: 200px;">
                                根目录
                                <div id="tree" class="demo">
                                </div>
                            </div>
                        </div>
                    </td>
                    <td>
                        <div class="con-box">
                            <div class="head">
                                <h2>
                                    文件搜索
                                </h2>
                            </div>
                            <div class="con">
                                <div class="box attributes">
                                    <div class="attr-title">
                                        <span>文件信息</span>
                                    </div>
                                    <ul class="detail-info-list clearfix box">
                                        <% using (Html.BeginForm("Search", "Home", FormMethod.Post, new { id = "mainForm" }))
                                           {%>
                                        <li><span>文件名：</span><%= Html.TextBoxFor(model => model.Search.FolderName, new { @class = "text", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>关键字：</span><%= Html.TextBoxFor(model => model.Search.KeyWord, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>摄影师：</span><%= Html.TextBoxFor(model => model.Search.Photographer, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>领导：</span><%= Html.TextBoxFor(model => model.Search.Leader, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>其它领导：</span><%= Html.TextBoxFor(model => model.Search.OtherLeader, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>来宾：</span><%= Html.TextBoxFor(model => model.Search.Guest, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>地点：</span><%= Html.TextBoxFor(model => model.Search.Location, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <li><span>事件：</span><% Html.RenderPartial("EventInfo"); %>
                                        </li>
                                        <li><span>事件其它：</span><%= Html.TextBoxFor(model => model.Search.EventInfoDesc, new { @class = "text ", title = "搜索项，30字以内", maxlength = "30" })%>
                                        </li>
                                        <%} %>
                                    </ul>
                                    <div>
                                        <a onclick="document.forms['mainForm'].submit()" id="btn-search" class="sexybutton">
                                            <span><span><em class="search">筛选</em></span></span></a>
                                    </div>
                                </div>
                            </div>
                            <!--文件夹列表展现 -->
                            <div class="con">
                                <div class="box">
                                    <table cellspacing="0" cellpadding="0" class="info-table">
                                        <thead>
                                            <tr>
                                                <th>
                                                    序号
                                                </th>
                                                <th>
                                                    文件名
                                                </th>
                                                <th>
                                                    关键字
                                                </th>
                                                <th>
                                                    路径
                                                </th>
                                                <th>
                                                    领导
                                                </th>
                                                <th>
                                                    其它领导
                                                </th>
                                                <th>
                                                    来宾
                                                </th>
                                                <th>
                                                    地点
                                                </th>
                                                <th>
                                                    事件
                                                </th>
                                                <th>
                                                    起止时间
                                                </th>
                                                <th>
                                                    摄影师
                                                </th>
                                                <th>
                                                    操作
                                                </th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <% int i = 0;
                                               foreach (var item in Model.Folders)
                                               {%>
                                            <tr class="<%:i/2==0?"even":"odd" %>">
                                                <td>
                                                    <!-- 序号 -->
                                                    <%:i %>
                                                </td>
                                                <td>
                                                    <!-- 文件名 -->
                                                    <%:item.PicNode.Name %>
                                                </td>
                                                <td>
                                                    <!-- 文件名 -->
                                                    <%:item.FolderDesc.KeyWord %>
                                                </td>
                                                <td>
                                                    <!-- 路径 -->
                                                    <%:item.PicNode.Path %>
                                                </td>
                                                <td>
                                                    <!-- 领导 -->
                                                    <%:item.FolderDesc.Leader %>
                                                </td>
                                                <td>
                                                    <!-- 其它领导-->
                                                    <%:item.FolderDesc.OtherLeader %>
                                                </td>
                                                <td>
                                                    <!--   来宾-->
                                                    <%:item.FolderDesc.Guest %>
                                                </td>
                                                <td>
                                                    <!--  地点-->
                                                    <%:!string.IsNullOrEmpty(item.FolderDesc.InnerLocation)?item.FolderDesc.InnerLocation:string.Empty %>
                                                    <%:!string.IsNullOrEmpty(item.FolderDesc.OuterLocation) ? item.FolderDesc.OuterLocation : string.Empty%>
                                                </td>
                                                <td>
                                                    <!--  事件-->
                                                    <%:item.FolderDesc.EventInfoEntity!=null? item.FolderDesc.EventInfoEntity.Name:string.Empty%>
                                                    <%:item.FolderDesc.EventDesc %>
                                                </td>
                                                <td>
                                                    <!--  起止时间-->
                                                    <%:item.FolderDesc.StartDate.ToString("yyyy-MM-dd") %>
                                                    <%:item.FolderDesc.EndDate.ToString("yyyy-MM-dd") %>
                                                </td>
                                                <td>
                                                    <!-- 摄影师-->
                                                    <%:item.FolderDesc.Photographer %>
                                                </td>
                                                <td>
                                                    <!-- 操作-->
                                                    <%:Html.ActionLink("查看","Detail",new {id=item.PicNode.Id}) %>
                                                </td>
                                            </tr>
                                            <%
                                            
i++;
                                            }%>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="StyleContent" runat="server">
    <link rel="stylesheet" type="text/css" href="/Scripts/fancybox/jquery.fancybox-1.3.4.css"
        media="screen" />
    <style type="text/css">
        #content
        {
            width: 600px;
            margin: 0px auto 0 auto;
            padding: 0 60px 30px 60px;
            border: solid 1px #cbcbcb;
            background: #fafafa;
            -moz-box-shadow: 0px 0px 10px #cbcbcb;
            -webkit-box-shadow: 0px 0px 10px #cbcbcb;
        }
    </style>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ScriptContent" runat="server">
    <script type="text/javascript" src="/Scripts/tree/jquery.jstree.js"></script>
    <script type="text/javascript" src="/Scripts/tree/jquery.hotkeys.js"></script>
    <script type="text/javascript" src="/Scripts/tree/jquery.cookie.js"></script>
    <script type="text/javascript" src="/Scripts/jquery.MultiFile.js"></script>
    <script type="text/javascript" src="/Scripts/jquery.ajaxfileupload.js"></script>
    <script type="text/javascript" charset="utf-8">
        $(function () {
            $("#tree").jstree({
                // the list of plugins to include

                "plugins": ["themes", "json_data", "ui", "crrm", "dnd", "cookies", "search", "types", "hotkeys", "contextmenu"],
                // Plugin configuration

                // I usually configure the plugin that handles the data first - in this case JSON as it is most common
                "json_data": {
                    // I chose an ajax enabled tree - again - as this is most common, and maybe a bit more complex
                    // All the options are the same as jQuery's except for `data` which CAN (not should) be a function
                    "ajax": {
                        // the URL to fetch the data
                        "url": '<%: Url.Action("Operation") %>',
                        // this function is executed in the instance's scope (this refers to the tree instance)
                        // the parameter is the node being loaded (may be -1, 0, or undefined when loading the root nodes)
                        "data": function (n) {
                            // the result is fed to the AJAX request `data` option
                            return {
                                "operation": "get_children",
                                "id": n.attr ? n.attr("id").replace("node_", "") : null
                            };
                        }
                    }
                },
                "themes": {
                    "theme": "apple"
                },
                "types": {
                    // I set both options to -2, as I do not need depth and children count checking
                    // Those two checks may slow jstree a lot, so use only when needed
                    "max_depth": -2,
                    "max_children": -2,
                    // I want only `drive` nodes to be root nodes 
                    // This will prevent moving or creating any other type as a root node
                    "valid_children": ["drive"],
                    "types": {
                        // The default type
                        "default": {
                            // I want this type to have no children (so only leaf nodes)
                            // In my case - those are files
                            //"valid_children": "none",
                            // If we specify an icon for the default type it WILL OVERRIDE the theme icons
                            "icon": {
                            //"image" : "./file.png"
                        }
                    },
                    // The `folder` type
                    "folder": {
                        // can have files and other folders inside of it, but NOT `drive` nodes
                        "valid_children": ["default", "folder"],
                        "icon": {
                        //"image" : "./folder.png"
                    }
                },
                // The `drive` nodes 
                "drive": {
                    // can have files and folders inside, but NOT other `drive` nodes
                    "valid_children": ["default", "folder"],
                    "icon": {
                    //"image" : "./root.png"
                },
                // those options prevent the functions with the same name to be used on the `drive` type nodes
                // internally the `before` event is used
                "start_drag": false,
                "move_node": false,
                "delete_node": false,
                "remove": false
            }
        }
    },
    // For UI & core - the nodes to initially select and open will be overwritten by the cookie plugin

    // the UI plugin - it handles selecting/deselecting/hovering nodes
    "ui": {
        // this makes the node with ID node_4 selected onload
        "initially_select": ["node_4"]
    },
    // the core plugin - not many options here
    "core": {
        // just open those two nodes up
        // as this is an AJAX enabled tree, both will be downloaded from the server
        "initially_open": ["node_2", "node_3"]
    }
})
        .bind("click", function (e, data) {
             if($(e.currentTarget).is("a")){  
                window.location.href="<%: Url.Action("Detail")%>?id="+$(e.currentTarget).parent().attr("id").replace("node_","");
                return false;
            }
        })
        .bind("view.jstree", function (e, data) {
            window.location.href="<%: Url.Action("Detail")%>?id="+data.rslt.obj.attr("id").replace("node_","");
            return false;
        })        
        .bind("descript.jstree", function (e, data) {
            window.location.href="<%: Url.Action("Edit")%>?id="+data.rslt.obj.attr("id").replace("node_","");
            return false;
        })
//        .bind("search.jstree", function (e, data) {
//            window.location.href="<%: Url.Action("Search")%>?id="+data.rslt.obj.attr("id").replace("node_","");
//            return false;
//        })
        .bind("searcher.jstree", function (e, data) {
            window.location.href="<%: Url.Action("Search")%>?id="+data.rslt.obj.attr("id").replace("node_","");
            return false;
        })
		.bind("create.jstree", function (e, data) {
		    $.post(
				'<%: Url.Action("Operation") %>',
				{
					"operation": "create_node",
					"parentid": data.rslt.parent.attr("id").replace("node_", ""),
					"position": data.rslt.position,
					"name": data.rslt.name,
					"type": data.rslt.obj.attr("rel")
				},
				function (r) {
					if (r.status) {
						$(data.rslt.obj).attr("id", "node_" + r.id);
					}
					else {
						$.jstree.rollback(data.rlbk);
					}
				}
			);
		})
		.bind("remove.jstree", function (e, data) {
		    data.rslt.obj.each(function () {
		        $.ajax({
		            async: false,
		            type: 'POST',
		            url: '<%: Url.Action("Operation") %>',
		            data: {
		                "operation": "remove_node",
		                "id": this.id.replace("node_", "")
		            },
		            success: function (r) {
		                if (!r.status) {
		                    data.inst.refresh();
		                }
		            }
		        });
		    });
		})
		.bind("rename.jstree", function (e, data) {
		    $.post(
				'<%: Url.Action("Operation") %>',
				{
				    "operation": "rename_node",
				    "id": data.rslt.obj.attr("id").replace("node_", ""),
				    "name": data.rslt.new_name
				},
				function (r) {
				    if (!r.status) {
				        $.jstree.rollback(data.rlbk);
				    }
				}
			);
		})
		.bind("move_node.jstree", function (e, data) {
		    data.rslt.o.each(function (i) {
		        $.ajax({
		            async: false,
		            type: 'POST',
		            url: '<%: Url.Action("Operation") %>',
		            data: {
		                "operation": "move_node",
		                "id": $(this).attr("id").replace("node_", ""),
		                "ref": data.rslt.np.attr("id").replace("node_", ""),
		                "position": data.rslt.cp + i,
		                "title": data.rslt.name,
		                "copy": data.rslt.cy ? 1 : 0
		            },
		            success: function (r) {
		                if (!r.status) {
		                    $.jstree.rollback(data.rlbk);
		                }
		                else {
		                    $(data.rslt.oc).attr("id", "node_" + r.id);
		                    if (data.rslt.cy && $(data.rslt.oc).children("UL").length) {
		                        data.inst.refresh(data.inst._get_parent(data.rslt.oc));
		                    }
		                }
		                $("#analyze").click();
		            }
		        });
		    });
		});

});





    </script>
</asp:Content>
